#ifndef __I_XIMAGE_H__
#define __I_XIMAGE_H__

#define UNKNOWN_IMAGE	0
#define PNG_IMAGE		1
#define JPG_IMAGE		2
#define BMP_IMAGE		3
#define GIF_IMAGE		4

class IXImage
{
public:
	virtual	BOOL	IsNull()																		= 0;
	virtual	SIZE	GetImageSize()																	= 0;
	virtual	BOOL	DeleteObject()																	= 0;
	virtual	BOOL	LoadImageFile(LPCWSTR pPngFile,int nWidth = 0)									= 0;
	virtual	void	DrawImage(HDC hdc,RECT src,int x,int y,int nTransparent = 100, int nIndex = 0)	= 0;
	virtual	void	DrawImageEx(HDC hdc,RECT src,int x,int y,int xOffset = 0,int nWidth = 0,int yOffset = 0,int nHeight = 0, int nTransparent = 100) = 0;

	virtual void	StretchImage_V(HDC hdc,RECT rc, int nCount = 1, int nIndex = 0, int nTransparent = 100)	= 0;
	virtual void	StretchImage_H(HDC hdc,RECT rc, int nCount = 1, int nIndex = 0, int nTransparent = 100)	= 0;
	virtual void	StretchImage_Full(HDC hdc,RECT rc, int nTransparent = 100)								= 0;
	virtual void	FillRectWithImage(HDC hdc,RECT rc, int nTransparent = 100)									= 0;
};


#endif